package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 反馈信息对象 sys_feedback
 * 
 * @author ruoyi
 * @date 2025-10-28
 */
public class SysFeedback extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private Long id;

    /** 问题id */
    @Excel(name = "问题编号")
    private String problemId;

    /** 单号 */
    @Excel(name = "单号")
    private String orderNo;

    /** 订单类型 */
    @Excel(name = "订单类型",dictType = "feedback_order_type")
    private String orderType;

    /** 订单图 */
    @Excel(name = "订单图", cellType = Excel.ColumnType.IMAGE)
    private String orderImage;

    /** 反馈图 */
    @Excel(name = "反馈图", cellType = Excel.ColumnType.IMAGE)
    private String feedbackImage;

    /** 货值 */
    @Excel(name = "货值", scale = 2, cellType = Excel.ColumnType.NUMERIC)
    private BigDecimal goodsValue;

    /** PP汇率 */
    @Excel(name = "PP汇率", scale = 2, cellType = Excel.ColumnType.NUMERIC)
    private BigDecimal ppExchangeRate;

    /** PP手续费 */
    @Excel(name = "PP手续费", scale = 2, cellType = Excel.ColumnType.NUMERIC)
    private BigDecimal ppHandlingFee;

    /** PP打款金额 */
    @Excel(name = "PP打款金额", scale = 2, cellType = Excel.ColumnType.NUMERIC)
    private BigDecimal ppPaymentAmount;

    /** 实时汇率 */
    @Excel(name = "实时汇率", scale = 2, cellType = Excel.ColumnType.NUMERIC)
    private BigDecimal realTimeExchangeRate;

    /** 佣金 */
    @Excel(name = "佣金",scale = 2, cellType = Excel.ColumnType.NUMERIC)
    private BigDecimal brokerage;

    /** 应付款 */
    @Excel(name = "应付款", scale = 4, cellType = Excel.ColumnType.NUMERIC)
    private BigDecimal amountPayable;

    /** 返款日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "返款日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date refundDate;

    /** 运营负责人 */
    @Excel(name = "运营负责人")
    private String operationManager;

    /** 测评负责 */
    @Excel(name = "测评负责")
    private String evaluationManager;

    private Long userId;

    private Long deptId;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setProblemId(String problemId)
    {
        this.problemId = problemId;
    }

    public String getProblemId()
    {
        return problemId;
    }
    public void setOrderNo(String orderNo) 
    {
        this.orderNo = orderNo;
    }

    public String getOrderNo() 
    {
        return orderNo;
    }
    public void setOrderImage(String orderImage) 
    {
        this.orderImage = orderImage;
    }

    public String getOrderImage() 
    {
        return orderImage;
    }
    public void setFeedbackImage(String feedbackImage) 
    {
        this.feedbackImage = feedbackImage;
    }

    public String getFeedbackImage() 
    {
        return feedbackImage;
    }
    public void setGoodsValue(BigDecimal goodsValue) 
    {
        this.goodsValue = goodsValue;
    }

    public BigDecimal getGoodsValue() 
    {
        return goodsValue;
    }
    public void setPpPaymentAmount(BigDecimal ppPaymentAmount) 
    {
        this.ppPaymentAmount = ppPaymentAmount;
    }

    public BigDecimal getPpPaymentAmount() 
    {
        return ppPaymentAmount;
    }
    public void setRealTimeExchangeRate(BigDecimal realTimeExchangeRate) 
    {
        this.realTimeExchangeRate = realTimeExchangeRate;
    }

    public BigDecimal getRealTimeExchangeRate() 
    {
        return realTimeExchangeRate;
    }
    public void setAmountPayable(BigDecimal amountPayable) 
    {
        this.amountPayable = amountPayable;
    }

    public BigDecimal getAmountPayable() 
    {
        return amountPayable;
    }
    public void setRefundDate(Date refundDate) 
    {
        this.refundDate = refundDate;
    }

    public Date getRefundDate() 
    {
        return refundDate;
    }
    public void setOperationManager(String operationManager) 
    {
        this.operationManager = operationManager;
    }

    public String getOperationManager() 
    {
        return operationManager;
    }
    public void setEvaluationManager(String evaluationManager) 
    {
        this.evaluationManager = evaluationManager;
    }

    public String getEvaluationManager() 
    {
        return evaluationManager;
    }
    public void setPpExchangeRate(BigDecimal ppExchangeRate) 
    {
        this.ppExchangeRate = ppExchangeRate;
    }

    public BigDecimal getPpExchangeRate() 
    {
        return ppExchangeRate;
    }
    public void setPpHandlingFee(BigDecimal ppHandlingFee) 
    {
        this.ppHandlingFee = ppHandlingFee;
    }

    public BigDecimal getPpHandlingFee() 
    {
        return ppHandlingFee;
    }

    public void setBrokerage(BigDecimal brokerage)
    {
        this.brokerage = brokerage;
    }

    public BigDecimal getBrokerage()
    {
        return brokerage;
    }

    public void setOrderType(String orderType)
    {
        this.orderType = orderType;
    }

    public String getOrderType()
    {
        return orderType;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("problemId", getProblemId())
            .append("orderNo", getOrderNo())
            .append("orderImage", getOrderImage())
            .append("feedbackImage", getFeedbackImage())
            .append("goodsValue", getGoodsValue())
            .append("ppPaymentAmount", getPpPaymentAmount())
            .append("realTimeExchangeRate", getRealTimeExchangeRate())
            .append("amountPayable", getAmountPayable())
            .append("refundDate", getRefundDate())
            .append("operationManager", getOperationManager())
            .append("evaluationManager", getEvaluationManager())
            .append("ppExchangeRate", getPpExchangeRate())
            .append("ppHandlingFee", getPpHandlingFee())
            .append("brokerage", getBrokerage())
            .append("orderType", getOrderType())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("userId", getUserId())
            .append("deptId", getDeptId())
            .toString();
    }
}
